home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / GNU_C++ / LIB / SRC / GEMLIB38.LZH / v_raster.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-07-10  |  1.7 KB  |  80 lines

  1. /*
  2.  *    Vdi raster funcs library interface
  3.  *
  4.  *    ++jrb    bammi@cadence.com
  5.  *    modified: mj -- ntomczak@vm.ucs.ualberta.ca
  6.  *
  7.  * -------------------------------------
  8.  * 12.07.97 cf (felsch@tu-harburg.de)
  9.  *        modified for new control arrays
  10.  *
  11.  * 15.06.98
  12.  *        - restructured, new bindings for all functions
  13.  */
  14. #include "gem.h"
  15.  
  16. void v_get_pixel(int handle, int x, int y, int *pel, int *index)
  17. {
  18.     vdi_ptsin[0] = x;
  19.     vdi_ptsin[1] = y;
  20.     
  21.     vdi_control[0] = 105;
  22.     vdi_control[1] = 1;
  23.     vdi_control[3] = 0;
  24.     vdi_control[6] = handle;
  25.     vdi(&vdi_params);
  26.     *pel = vdi_intout[0];
  27.     *index = vdi_intout[1];
  28. }
  29.  
  30. void vr_trnfm(int handle, MFDB *src, MFDB *dst)
  31. {
  32.     *((MFDB **)(&vdi_control[7])) = src;
  33.     *((MFDB **)(&vdi_control[9])) = dst;
  34.  
  35.     vdi_control[0] = 110;
  36.     vdi_control[1] = 0;
  37.     vdi_control[3] = 0;
  38.     vdi_control[6] = handle;
  39.     vdi(&vdi_params);
  40. }
  41.  
  42. void vro_cpyfm(int handle, int mode, int pxyarray[], MFDB *src, MFDB *dst)
  43. {
  44.      register short i;
  45.  
  46.     for(i = 0; i < 8; i++)
  47.         vdi_ptsin[i] = pxyarray[i];
  48.  
  49.     vdi_intin[0] = mode;
  50.     *((MFDB **)(&vdi_control[7])) = src;
  51.     *((MFDB **)(&vdi_control[9])) = dst;
  52.  
  53.     vdi_control[0] = 109;
  54.     vdi_control[1] = 4;
  55.     vdi_control[3] = 1;
  56.     vdi_control[6] = handle;
  57.     vdi(&vdi_params);
  58. }
  59.  
  60. void vrt_cpyfm(int handle, int mode, int pxyarray[], MFDB *src, MFDB *dst, int color[])
  61. {
  62.     register short i;
  63.  
  64.     for(i = 0; i < 8; i++)
  65.         vdi_ptsin[i] = pxyarray[i];
  66.  
  67.     vdi_intin[0] = mode;
  68.     vdi_intin[1] = color[0];
  69.     vdi_intin[2] = color[1];
  70.  
  71.     *((MFDB **)(&vdi_control[7])) = src;
  72.     *((MFDB **)(&vdi_control[9])) = dst;
  73.  
  74.     vdi_control[0] = 121;
  75.     vdi_control[1] = 4;
  76.     vdi_control[3] = 3;
  77.     vdi_control[6] = handle;
  78.     vdi(&vdi_params);
  79. }
  80.